package com.slipper.system.api.menu.service;

import com.slipper.common.bo.Result;
import com.slipper.common.feign.ServiceClient;
import com.slipper.common.annotation.FeignRequestMapping;
import com.slipper.system.api.menu.bo.MenuBO;

import java.util.List;
import java.util.Set;

import org.springframework.web.bind.annotation.RequestBody;

/**
 * 菜单信息表
 * 
 * @date 2019-10-03 14:09:46
 */
@ServiceClient
public interface IMenuSv {
    @FeignRequestMapping("/menu/queryBy")
    Result<MenuBO> queryBy(@RequestBody String id);

    @FeignRequestMapping("/menu/queryPage")
    Result<List<MenuBO>> queryPage(@RequestBody MenuBO bo);

    @FeignRequestMapping("/menu/save")
    Result<?> save(@RequestBody MenuBO bo);

    @FeignRequestMapping("/menu/delete")
    Result<?> delete(@RequestBody MenuBO bo);

    @FeignRequestMapping("/menu/queryPermitUrl")
    Result<Set<String>> queryPermitUrl(@RequestBody MenuBO bo);
    
    @FeignRequestMapping("/menu/queryList")
    Result<List<MenuBO>> queryList(@RequestBody MenuBO bo);

    @FeignRequestMapping("/menu/queryUserMenus")
    Result<List<MenuBO>> queryUserMenus(@RequestBody MenuBO bo);

    @FeignRequestMapping("/menu/updateParentId")
    Result<?> updateParentId(@RequestBody MenuBO bo);

    @FeignRequestMapping("/menu/updateConfig")
    Result<?> updateConfig(@RequestBody MenuBO bo);
}
